package baize

import (
	"encoding/json"
	"strconv"
)

type Int64String int64

// 实现 Marshaler 接口
func (i Int64String) MarshalJSON() ([]byte, error) {
	return json.Marshal(strconv.FormatInt(int64(i), 10))
}

// 实现 Unmarshaler 接口
func (i *Int64String) UnmarshalJSON(data []byte) error {
	var s string
	if err := json.Unmarshal(data, &s); err != nil {
		return err
	}
	value, err := strconv.ParseInt(s, 10, 64)
	if err != nil {
		return err
	}
	*i = Int64String(value)
	return nil
}
